#include <iostream>
#include "DataLinkedList.h"
using namespace std;
#include "Job.h"
#include "PrinterJob.h"
#include "DiskJob.h"
#include "CalcJob.h"
#include "TaskScheduler.h"
#include "PrinterSpooler.h"
#include "DiskDriver.h"
#include "MainScheduler.h"

int main() {

	MainScheduler mainSched;
	cout << "adding jobs" << endl;
//	mainSched.addJob(1 , 2 , 3, 1);
//	mainSched.addJob(2 , 5 , 6, 1);
//	mainSched.addJob(3 , 5 , 6, 1);
//	mainSched.addJob(4 , 5 , 6, 1);
//	mainSched.addJob(1 , 2 , 3, 2);
//	mainSched.addJob(2 , 5 , 6, 2);
//	mainSched.addJob(3 , 5 , 6, 2);
//	mainSched.addJob(4 , 5 , 6, 2);
//	mainSched.addJob(1 , 2 , 3, 3);
//	mainSched.addJob(2 , 5 , 6, 3);
//	mainSched.addJob(3 , 5 , 6, 3);
//	mainSched.addJob(4 , 5 , 6, 3);

	mainSched.addJob(2, 2, -2, 3);
	mainSched.addJob(2, 2, 2, 3);
	mainSched.addJob(1, 4, 12, 1);
	mainSched.addJob(7, 7, 7, 2);
	mainSched.addJob(3, 2, 22, 1);
	mainSched.addJob(3, 1, 12, 1);
	mainSched.addJob(2, 1, -7, 2);

	mainSched.execute();

//	PrinterJob job1(1 , 2 , 3);
//	PrinterJob job2(2 , 5 , 6);
//	PrinterJob job3(3 , 5 , 6);
//	PrinterJob job4(4 , 5 , 6);
//
//	PrinterJob job5(1,10,10);
//	PrinterJob job6(1,10,10);

//	PrinterSpooler spooler;
//	spooler.addJob(1 , 2 , 3);
//	spooler.addJob(2 , 5 , 6);
//	spooler.addJob(3 , 5 , 6);
//	spooler.addJob(4 , 5 , 6);


//	cout << "adding jobs" << endl;
//	spooler.addJob(job1);
//	spooler.addJob(job2);
//	spooler.addJob(job3);
//	spooler.addJob(job4);
	cout << "Jobs added" << endl;
//	spooler.work(20, 2);
	return 0;
}
